<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1. 数组的扁平化： 将多维数组转化为一堆数组
        let arr = [1,[2,[3,[4,[5]]]], 6]
        let arr1 = [1, 2, 3, 4, 5, 6]
        /* 
          2. flat()
             方法会按照一个可指定的深度递归遍历数组
             并将所有元素与遍历到的子数组中的元素合并为一个新数组返回
          3. 语法：
            var newArray = arr.flat([depth])
            depth 可选，指定要提取嵌套数组的深度，默认值为 1 
          4. 返回值
            一个包含将数组与子数组中所有元素的新数组(原数组不变)
        */

        let arr2 = arr.flat();
        console.log(arr);
        console.log(arr2);
        console.log(arr.flat(2));
        console.log(arr.flat(3));
        // 不管嵌套多少层 
        console.log(arr.flat(Infinity));
    </script>
</body>

</html>